ABI versioning macros for libc++. C++ macros and CMake options that specify the default ABI version of the library, and can be overridden to pick up new ABI-changing features. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@250254 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/CMakeLists.txt b/CMakeLists.txt index 41627ab..b65bbac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt 
@@ -58,6 +58,8 @@  option(LIBCXX_INSTALL_HEADERS "Install the libc++ headers." ON)  option(LIBCXX_INSTALL_LIBRARY "Install the libc++ library." ON)  option(LIBCXX_INSTALL_SUPPORT_HEADERS "Install libc++ support headers." ON) +set(LIBCXX_ABI_VERSION 1 CACHE STRING "ABI version of libc++.") +option(LIBCXX_ABI_UNSTABLE "Unstable ABI of libc++." OFF)    # ABI Library options ---------------------------------------------------------  set(LIBCXX_CXX_ABI "${LIBCXX_CXX_ABI}" CACHE STRING @@ -298,6 +300,11 @@  endif()    # Configuration file flags ===================================================== +if (NOT LIBCXX_ABI_VERSION EQUAL "1") + config_define(${LIBCXX_ABI_VERSION} _LIBCPP_ABI_VERSION) +endif() +config_define_if(LIBCXX_ABI_UNSTABLE _LIBCPP_ABI_UNSTABLE) +  config_define_if_not(LIBCXX_ENABLE_GLOBAL_FILESYSTEM_NAMESPACE _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE)  config_define_if_not(LIBCXX_ENABLE_STDIN _LIBCPP_HAS_NO_STDIN)  config_define_if_not(LIBCXX_ENABLE_STDOUT _LIBCPP_HAS_NO_STDOUT)